Group Predictions

Row

Win percentage for the week

Season Win Percentage

Games Correct

113

Games Picked

166

Number of predictions

117

Row

This Week’s Predictions
Game Prediction Winner Correct Correct Votes Correct Percent
1 Philadelphia Eagles Philadelphia Eagles Yes 66 0.5641
2 New Orleans Saints New Orleans Saints Yes 91 0.7778
3 Baltimore Ravens Pittsburgh Steelers No 43 0.3675
4 Green Bay Packers Green Bay Packers Yes 109 0.9316
5 New York Jets Indianapolis Colts No 51 0.4359
6 Detroit Lions Detroit Lions Yes 116 0.9915
7 Los Angeles Rams Los Angeles Rams Yes 101 0.8632
8 Miami Dolphins Miami Dolphins Yes 103 0.8803
9 Minnesota Vikings Minnesota Vikings Yes 115 0.9829
10 Denver Broncos Denver Broncos Yes 62 0.5299
11 San Francisco 49ers Seattle Seahawks No 14 0.1197
12 Buffalo Bills Buffalo Bills Yes 74 0.6325
13 Los Angeles Chargers Los Angeles Chargers Yes 79 0.6752
14 Houston Texans Houston Texans Yes 116 0.9915

Individual Predictions

row

Individual Table

Individual Results
Week 11
Name Weekly # Correct Percent Weeks Picked Season Percent Adj Season Percent Season Trend
Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10 Week 11
Thomas Brenstuhl 9 8 NA 6 7 9 10 13 11 9 13 0.9286 10 0.6333 0.5757
Wayne Schofield 7 5 9 5 7 7 11 11 10 8 13 0.9286 11 0.5602 0.5602
Jennifer Bouland 13 8 10 7 8 11 10 11 9 9 12 0.8571 11 0.6506 0.6506
Darryle Sellers 11 11 6 8 9 11 9 10 12 9 12 0.8571 11 0.6506 0.6506
Brian Hollmann NA NA NA 8 8 10 10 11 9 8 12 0.8571 8 0.6441 0.4684
Edward Ford 9 7 6 10 5 10 10 13 11 9 12 0.8571 11 0.6145 0.6145
Brian Patterson 11 6 9 9 6 NA 9 13 NA 9 12 0.8571 9 0.6131 0.5016
Zechariah Ziebarth 8 8 8 10 5 10 10 11 11 NA 12 0.8571 10 0.6118 0.5562
Yiming Hu 12 NA 7 7 6 8 12 9 NA 9 12 0.8571 9 0.6074 0.4970
Jason Jackson 12 7 5 6 5 12 9 11 10 10 12 0.8571 11 0.5964 0.5964
Michael Moore 11 6 7 7 8 12 NA 9 9 NA 12 0.8571 9 0.5912 0.4837
Brittany Pillar NA NA NA NA NA 10 12 NA NA 10 11 0.7857 4 0.7544 0.2743
Robert Cunningham 14 9 10 12 8 12 11 11 12 9 11 0.7857 11 0.7169 0.7169
Matthew Blair NA NA NA NA NA 11 10 12 10 9 11 0.7857 6 0.7159 0.3905
Randolph Tidd 11 7 8 12 NA 12 11 12 13 9 11 0.7857 10 0.6974 0.6340
Michael Pacifico 13 8 7 9 9 12 12 10 14 9 11 0.7857 11 0.6867 0.6867
Michael Linder 11 9 9 NA NA 12 10 11 10 NA 11 0.7857 8 0.6803 0.4948
Chester Todd 13 8 8 8 9 13 13 10 9 9 11 0.7857 11 0.6687 0.6687
Rafael Torres 12 9 8 7 8 10 12 10 12 11 11 0.7857 11 0.6627 0.6627
Matthew Schultz 13 10 9 8 9 9 9 12 11 8 11 0.7857 11 0.6566 0.6566
William Schouviller 12 7 9 9 11 13 10 9 NA 7 11 0.7857 10 0.6490 0.5900
George Brown 14 7 8 7 6 11 10 12 9 12 11 0.7857 11 0.6446 0.6446
Brayant Rivera 10 8 9 8 6 13 11 10 12 9 11 0.7857 11 0.6446 0.6446
David Humes 10 9 8 11 5 8 12 8 12 11 11 0.7857 11 0.6325 0.6325
Daniel Major 8 10 11 6 8 11 NA 10 10 10 11 0.7857 10 0.6291 0.5719
Pablo Burgosramos 9 5 8 9 5 14 12 12 12 7 11 0.7857 11 0.6265 0.6265
Nahir Shepard 11 8 10 8 6 12 8 12 9 9 11 0.7857 11 0.6265 0.6265
Michael Branson 9 8 8 9 8 11 9 11 10 9 11 0.7857 11 0.6205 0.6205
Terry Hardison 13 8 6 7 4 11 10 12 11 9 11 0.7857 11 0.6145 0.6145
George Mancini 11 8 6 NA 8 6 12 NA 11 9 11 0.7857 9 0.6119 0.5006
Cheryl Brown 11 6 9 8 8 10 NA 9 8 10 11 0.7857 10 0.5960 0.5418
Trevor Macgavin 12 7 10 8 8 8 9 7 10 7 11 0.7857 11 0.5843 0.5843
Marcus Evans 11 8 NA 8 7 10 7 9 10 6 11 0.7857 10 0.5800 0.5273
Gary Lawrence 10 6 5 5 7 9 9 10 9 9 11 0.7857 11 0.5422 0.5422
Robert Gelo 14 8 9 9 8 13 13 11 12 10 10 0.7143 11 0.7048 0.7048
Bruce Williams 13 9 10 8 9 13 12 10 NA 10 10 0.7143 10 0.6887 0.6261
Nathan Brown 13 8 9 11 9 NA 10 11 14 9 10 0.7143 10 0.6842 0.6220
Marc Agne 14 7 9 13 6 13 10 9 12 10 10 0.7143 11 0.6807 0.6807
Aubrey Conn 13 7 10 9 8 12 12 9 13 9 10 0.7143 11 0.6747 0.6747
Keven Talbert 10 7 9 11 9 14 13 9 9 11 10 0.7143 11 0.6747 0.6747
Jeremy Mounce 12 8 8 NA 10 12 NA NA NA 10 10 0.7143 7 0.6731 0.4283
Randy Dick 11 7 8 8 9 14 10 10 13 11 10 0.7143 11 0.6687 0.6687
Erik Neumann 12 8 9 9 7 13 10 11 12 9 10 0.7143 11 0.6627 0.6627
Patrick Tynan 12 8 7 9 8 12 NA 12 12 10 10 0.7143 10 0.6623 0.6021
Pamela Augustine 14 9 9 NA 7 11 9 NA 10 NA 10 0.7143 8 0.6583 0.4788
Anthony Bloss 13 8 8 11 8 13 11 11 9 7 10 0.7143 11 0.6566 0.6566
George Sweet 13 9 6 10 11 9 11 11 12 7 10 0.7143 11 0.6566 0.6566
Michael Moss 13 8 8 8 10 13 8 9 11 9 10 0.7143 11 0.6446 0.6446
Gregory Brown 15 7 6 9 8 12 9 9 13 9 10 0.7143 11 0.6446 0.6446
Brandon Parks 12 6 9 9 6 13 NA NA 12 10 10 0.7143 9 0.6444 0.5272
Robert Sokol 10 8 NA NA 6 9 9 13 12 9 10 0.7143 9 0.6418 0.5251
Nicole Dike 13 7 8 10 7 10 10 12 10 9 10 0.7143 11 0.6386 0.6386
Kevin Buettner 12 8 8 10 7 11 10 9 10 10 10 0.7143 11 0.6325 0.6325
Daniel Baller 14 6 9 8 7 9 10 12 10 10 10 0.7143 11 0.6325 0.6325
Jason Schattel 13 7 6 9 10 11 9 10 11 9 10 0.7143 11 0.6325 0.6325
Walter Archambo 8 8 7 9 6 12 11 11 12 10 10 0.7143 11 0.6265 0.6265
Thomas Mccoy 10 7 6 8 9 11 11 10 12 10 10 0.7143 11 0.6265 0.6265
Scott Lefton 10 8 8 7 7 11 11 10 11 10 10 0.7143 11 0.6205 0.6205
Noah Gosswiller 8 7 NA 10 8 NA 10 11 10 10 10 0.7143 9 0.6176 0.5053
Jennifer Arty 10 7 9 7 7 12 8 12 11 9 10 0.7143 11 0.6145 0.6145
Montee Brown 10 6 8 7 8 14 11 10 8 10 10 0.7143 11 0.6145 0.6145
Earl Dixon 10 9 6 9 9 NA 11 10 9 9 10 0.7143 10 0.6053 0.5503
Nicholas Nguyen 11 8 5 8 7 12 11 9 10 9 10 0.7143 11 0.6024 0.6024
Kamar Morgan 12 6 8 5 8 12 9 12 10 8 10 0.7143 11 0.6024 0.6024
Rachel Follo 15 8 6 6 9 7 10 11 9 9 10 0.7143 11 0.6024 0.6024
Louie Renew 9 8 12 4 10 8 8 11 11 8 10 0.7143 11 0.5964 0.5964
Christopher Mulcahy 11 9 7 8 NA 8 9 9 10 9 10 0.7143 10 0.5921 0.5383
Joshua Tracey 12 5 8 6 7 NA 9 13 10 7 10 0.7143 10 0.5724 0.5204
Jack Wheeler 9 6 5 10 8 NA 9 9 10 8 10 0.7143 10 0.5526 0.5024
Steven Webster 7 7 9 6 7 9 NA 11 NA 8 10 0.7143 9 0.5441 0.4452
Chris Papageorge 14 8 10 11 8 12 12 12 11 8 9 0.6429 11 0.6928 0.6928
Heather Kohler 12 NA 7 12 9 11 NA 12 NA 8 9 0.6429 8 0.6667 0.4849
David Dupree 13 8 10 9 7 11 11 11 12 NA 9 0.6429 10 0.6645 0.6041
Travis Delagardelle 11 12 10 8 6 11 12 11 11 9 9 0.6429 11 0.6627 0.6627
Heather Ellenberger 13 8 7 8 7 12 11 11 13 9 9 0.6429 11 0.6506 0.6506
Jeremy Stieler 11 9 6 11 6 13 11 11 11 9 9 0.6429 11 0.6446 0.6446
Clevante Granville 9 11 NA NA 5 11 11 9 10 11 9 0.6429 9 0.6418 0.5251
Paul Presti 12 8 9 12 7 11 8 10 NA 10 9 0.6429 10 0.6358 0.5780
Karen Coleman 13 6 NA 11 9 9 10 9 11 8 9 0.6429 10 0.6333 0.5757
Jared Kaanga 11 9 9 8 7 10 9 11 13 9 9 0.6429 11 0.6325 0.6325
Richard Beeghley 11 7 6 11 7 14 10 10 10 8 9 0.6429 11 0.6205 0.6205
Diance Durand 9 9 12 7 8 10 9 11 11 7 9 0.6429 11 0.6145 0.6145
Karen Richardson 10 9 7 9 11 8 8 12 8 10 9 0.6429 11 0.6084 0.6084
Ramar Williams 10 8 7 11 8 11 11 10 8 8 9 0.6429 11 0.6084 0.6084
Vincent Scannelli 11 7 7 11 8 8 11 12 9 8 9 0.6429 11 0.6084 0.6084
Darvin Graham 12 7 6 9 8 11 9 NA 10 9 9 0.6429 10 0.6000 0.5455
Cade Martinez 10 7 8 8 6 11 11 9 10 10 9 0.6429 11 0.5964 0.5964
Kristen White 14 7 9 9 8 9 9 8 8 9 9 0.6429 11 0.5964 0.5964
Melissa Printup 8 9 9 6 10 10 10 10 7 10 9 0.6429 11 0.5904 0.5904
Ryan Shipley 11 6 10 8 5 9 11 NA 10 NA 9 0.6429 9 0.5809 0.4753
Ronald Schmidt 10 10 5 9 6 8 12 10 NA 7 9 0.6429 10 0.5695 0.5177
Jonathan Smith 11 NA 4 10 7 NA 8 11 10 7 9 0.6429 9 0.5662 0.4633
Anthony Rockemore 13 8 6 8 7 NA 8 NA NA 9 9 0.6429 8 0.5620 0.4087
Sheryl Claiborne-Smith 11 7 NA NA NA 7 7 10 7 7 9 0.6429 8 0.5417 0.3940
Nicholas Cinco 12 8 NA NA 6 11 11 12 11 11 8 0.5714 9 0.6716 0.5495
Christopher Sims 11 9 10 8 7 10 12 14 11 9 8 0.5714 11 0.6566 0.6566
Kevin Kehoe 13 7 9 10 8 13 12 11 9 8 8 0.5714 11 0.6506 0.6506
Shaun Dahl 14 7 9 11 10 10 10 8 9 11 8 0.5714 11 0.6446 0.6446
Shawn Carden 10 9 10 10 8 11 10 11 11 9 8 0.5714 11 0.6446 0.6446
Michelle Fraterrigo 11 8 9 9 7 11 12 12 11 8 8 0.5714 11 0.6386 0.6386
Jeffrey Rudderforth 11 11 10 9 6 7 10 11 12 9 8 0.5714 11 0.6265 0.6265
Steward Hogans 10 7 10 NA NA NA NA 10 13 8 8 0.5714 7 0.6168 0.3925
Antonio Mitchell 11 7 8 9 9 11 10 11 10 8 8 0.5714 11 0.6145 0.6145
Stephen Bush 9 7 4 10 9 13 13 9 10 10 8 0.5714 11 0.6145 0.6145
Paul Seitz 11 9 9 NA 8 10 11 NA NA 7 8 0.5714 8 0.6134 0.4461
David Plate 10 8 8 8 9 NA NA NA 13 10 8 0.5714 8 0.6116 0.4448
Matthew Olguin 10 8 9 9 7 12 11 11 9 7 8 0.5714 11 0.6084 0.6084
Jose Torres Mendoza 12 8 8 8 NA NA 8 9 10 11 8 0.5714 9 0.5942 0.4862
Bunnaro Sun 12 5 8 11 6 8 9 9 12 8 8 0.5714 11 0.5783 0.5783
Kyle May 10 8 5 6 8 NA 12 10 9 8 8 0.5714 10 0.5526 0.5024
Richard Conkle 7 6 6 8 7 10 12 11 9 NA 8 0.5714 10 0.5526 0.5024
Andrew Gray 5 8 9 7 NA NA 7 9 7 11 8 0.5714 9 0.5145 0.4210
Ryan Cvik 10 8 9 11 9 11 11 13 10 7 7 0.5000 11 0.6386 0.6386
Jonathon Leslein 10 8 7 10 8 12 10 10 8 10 7 0.5000 11 0.6024 0.6024
Robert Lynch 6 9 8 6 9 7 7 12 NA 9 7 0.5000 10 0.5298 0.4816
Robert Martin 7 NA 9 8 8 8 7 NA 8 7 7 0.5000 9 0.5149 0.4213
Ashley Johnson 9 NA 6 NA 6 NA NA NA NA NA 5 0.3571 4 0.4333 0.1576
Clayton Grimes 14 NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.8750 0.0795
Tanaysa Henderson NA NA NA NA NA 12 NA NA NA NA NA 0.0000 1 0.8571 0.0779
Wallace Savage 12 NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.7500 0.0682
Brian Holder 12 NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.7500 0.0682
Sandra Carter 12 NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.7500 0.0682
Ryan Wiggins NA NA NA NA NA NA NA NA 11 NA NA 0.0000 1 0.7333 0.0667
Steven Maisonneuve NA NA NA NA 11 10 11 12 11 8 NA 0.0000 6 0.7159 0.3905
Jeremy Krammes 12 NA NA NA NA NA NA 10 NA 10 NA 0.0000 3 0.6957 0.1897
Terrence Lee 11 NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.6875 0.0625
Daniel Gray 11 NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.6875 0.0625
George Hall 12 NA 8 NA NA NA NA NA NA 10 NA 0.0000 3 0.6522 0.1779
Bradley Hobson 13 7 8 11 7 13 10 10 11 8 NA 0.0000 10 0.6447 0.5861
Daniel Halse 12 6 8 10 7 13 9 11 11 11 NA 0.0000 10 0.6447 0.5861
James Small 12 NA 9 10 8 10 9 9 10 10 NA 0.0000 9 0.6397 0.5234
Bryson Scott 10 9 7 NA 7 12 11 12 10 9 NA 0.0000 9 0.6397 0.5234
Philip Driskill 12 7 8 10 8 NA 13 11 10 NA NA 0.0000 8 0.6371 0.4633
Ryan Baum 14 4 9 10 9 NA 10 10 11 10 NA 0.0000 9 0.6304 0.5158
Jordan Forwood 11 8 6 11 NA 13 NA 10 NA NA NA 0.0000 6 0.6277 0.3424
Kenneth Nielsen 13 8 7 NA 8 9 11 10 NA NA NA 0.0000 7 0.6168 0.3925
Anthony Brinson 11 7 NA 9 10 11 9 12 6 NA NA 0.0000 8 0.6148 0.4471
David Hadley 13 10 8 NA 8 NA 8 NA NA NA NA 0.0000 5 0.6104 0.2775
Derrick Elam 13 9 8 11 7 10 8 9 NA NA NA 0.0000 8 0.6098 0.4435
Keisha Vasquez 8 7 9 9 11 11 9 12 8 8 NA 0.0000 10 0.6053 0.5503
Wayne Gokey 13 7 NA 11 NA NA 8 NA 8 NA NA 0.0000 5 0.6026 0.2739
Jonathan Knight 13 10 9 6 7 NA 11 NA NA NA NA 0.0000 6 0.6022 0.3285
Amy Asberry 11 8 6 10 NA 12 9 NA 9 8 NA 0.0000 8 0.5984 0.4352
Kevin Green 11 9 NA 8 7 12 NA 8 NA NA NA 0.0000 6 0.5978 0.3261
Jeffrey Dusza 11 8 NA NA NA NA NA NA NA NA NA 0.0000 2 0.5938 0.1080
Cherylynn Vidal 13 9 8 8 NA NA NA NA NA NA NA 0.0000 4 0.5938 0.2159
Adam Konkle 10 9 NA NA NA NA NA NA NA NA NA 0.0000 2 0.5938 0.1080
Jeffrey Zornes 9 11 6 8 7 10 9 11 9 10 NA 0.0000 10 0.5921 0.5383
Megan Fitzgerald 8 11 9 10 NA NA 8 10 NA NA NA 0.0000 6 0.5895 0.3215
Thomas Cho 10 6 NA 11 7 12 NA 8 9 NA NA 0.0000 7 0.5888 0.3747
Tara Bridgett 11 8 8 8 NA 9 NA 10 10 NA NA 0.0000 7 0.5872 0.3737
Jason Miranda 10 7 8 NA 9 11 8 NA NA NA NA 0.0000 6 0.5824 0.3177
Jennifer Wilson 11 9 10 6 NA 7 11 NA NA NA NA 0.0000 6 0.5806 0.3167
Akilah Gamble 9 NA 12 9 6 8 12 6 NA 8 NA 0.0000 8 0.5785 0.4207
Joseph Martin 10 7 8 8 8 10 9 NA NA NA NA 0.0000 7 0.5607 0.3568
Desmond Jenkins 10 7 7 NA 7 12 8 NA NA NA NA 0.0000 6 0.5604 0.3057
Min Choi 10 NA 7 NA 8 7 NA 10 NA NA NA 0.0000 5 0.5526 0.2512
Lawrence Thuotte 9 5 12 NA 8 NA NA NA NA NA NA 0.0000 4 0.5484 0.1994
Donald Park 9 NA 6 NA NA 10 NA NA NA NA NA 0.0000 3 0.5435 0.1482
Gabriel Quinones 10 7 6 9 NA 11 8 7 NA NA NA 0.0000 7 0.5321 0.3386
Monte Henderson 9 8 NA NA NA NA NA NA NA NA NA 0.0000 2 0.5312 0.0966
David Kim 9 8 NA NA NA NA NA NA NA NA NA 0.0000 2 0.5312 0.0966
Jamie Ainsleigh-Wong 9 8 9 9 8 5 NA NA NA NA NA 0.0000 6 0.5217 0.2846
Jay Kelly 10 9 7 7 5 10 7 NA NA NA NA 0.0000 7 0.5140 0.3271
Zachary Brosemer 8 NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.5000 0.0455
Antonio Chapa 8 NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.5000 0.0455
Vincent Kandian 9 8 8 7 NA NA NA NA NA NA NA 0.0000 4 0.5000 0.1818
Ashlyn Dortch 9 NA NA 8 NA 5 9 6 NA NA NA 0.0000 5 0.4805 0.2184
Gabrieal Feiling 10 NA 5 NA NA NA NA NA NA NA NA 0.0000 2 0.4688 0.0852
Jasprin Smith 6 NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.3750 0.0341
Robert Epps NA 6 NA NA NA NA NA NA NA NA NA 0.0000 1 0.3750 0.0341

Season Leaderboard

Season Leaderboard (Season Percent)
Week 11
Season Rank Name Donuts Won Weeks Picked Season Percent Adj Season Percent Season Trend
1 Clayton Grimes 0 1 0.8750 0.0795
2 Tanaysa Henderson 0 1 0.8571 0.0779
3 Brittany Pillar 0 4 0.7544 0.2743
4 Brian Holder 0 1 0.7500 0.0682
4 Sandra Carter 0 1 0.7500 0.0682
4 Wallace Savage 0 1 0.7500 0.0682
7 Ryan Wiggins 0 1 0.7333 0.0667
8 Robert Cunningham 0 11 0.7169 0.7169
9 Matthew Blair 0 6 0.7159 0.3905
9 Steven Maisonneuve 1 6 0.7159 0.3905
11 Robert Gelo 1 11 0.7048 0.7048
12 Randolph Tidd 0 10 0.6974 0.6340
13 Jeremy Krammes 0 3 0.6957 0.1897
14 Chris Papageorge 0 11 0.6928 0.6928
15 Bruce Williams 0 10 0.6887 0.6261
16 Daniel Gray 0 1 0.6875 0.0625
16 Terrence Lee 0 1 0.6875 0.0625
18 Michael Pacifico 1 11 0.6867 0.6867
19 Nathan Brown 1 10 0.6842 0.6220
20 Marc Agne 1 11 0.6807 0.6807
21 Michael Linder 0 8 0.6803 0.4948
22 Aubrey Conn 0 11 0.6747 0.6747
22 Keven Talbert 2 11 0.6747 0.6747
24 Jeremy Mounce 0 7 0.6731 0.4283
25 Nicholas Cinco 0 9 0.6716 0.5495
26 Chester Todd 1 11 0.6687 0.6687
26 Randy Dick 1 11 0.6687 0.6687
28 Heather Kohler 0 8 0.6667 0.4849
29 David Dupree 0 10 0.6645 0.6041
30 Erik Neumann 0 11 0.6627 0.6627
30 Rafael Torres 0 11 0.6627 0.6627
30 Travis Delagardelle 1 11 0.6627 0.6627
33 Patrick Tynan 0 10 0.6623 0.6021
34 Pamela Augustine 0 8 0.6583 0.4788
35 Anthony Bloss 0 11 0.6566 0.6566
35 Christopher Sims 1 11 0.6566 0.6566
35 George Sweet 1 11 0.6566 0.6566
35 Matthew Schultz 0 11 0.6566 0.6566
39 George Hall 0 3 0.6522 0.1779
40 Darryle Sellers 0 11 0.6506 0.6506
40 Heather Ellenberger 0 11 0.6506 0.6506
40 Jennifer Bouland 0 11 0.6506 0.6506
40 Kevin Kehoe 0 11 0.6506 0.6506
44 William Schouviller 1 10 0.6490 0.5900
45 Bradley Hobson 0 10 0.6447 0.5861
45 Daniel Halse 0 10 0.6447 0.5861
47 Brayant Rivera 0 11 0.6446 0.6446
47 George Brown 1 11 0.6446 0.6446
47 Gregory Brown 1 11 0.6446 0.6446
47 Jeremy Stieler 0 11 0.6446 0.6446
47 Michael Moss 0 11 0.6446 0.6446
47 Shaun Dahl 0 11 0.6446 0.6446
47 Shawn Carden 0 11 0.6446 0.6446
54 Brandon Parks 0 9 0.6444 0.5272
55 Brian Hollmann 0 8 0.6441 0.4684
56 Clevante Granville 0 9 0.6418 0.5251
56 Robert Sokol 0 9 0.6418 0.5251
58 Bryson Scott 0 9 0.6397 0.5234
58 James Small 0 9 0.6397 0.5234
60 Michelle Fraterrigo 0 11 0.6386 0.6386
60 Nicole Dike 0 11 0.6386 0.6386
60 Ryan Cvik 0 11 0.6386 0.6386
63 Philip Driskill 1 8 0.6371 0.4633
64 Paul Presti 0 10 0.6358 0.5780
65 Karen Coleman 0 10 0.6333 0.5757
65 Thomas Brenstuhl 1 10 0.6333 0.5757
67 Daniel Baller 0 11 0.6325 0.6325
67 David Humes 0 11 0.6325 0.6325
67 Jared Kaanga 0 11 0.6325 0.6325
67 Jason Schattel 0 11 0.6325 0.6325
67 Kevin Buettner 0 11 0.6325 0.6325
72 Ryan Baum 0 9 0.6304 0.5158
73 Daniel Major 0 10 0.6291 0.5719
74 Jordan Forwood 0 6 0.6277 0.3424
75 Jeffrey Rudderforth 0 11 0.6265 0.6265
75 Nahir Shepard 0 11 0.6265 0.6265
75 Pablo Burgosramos 1 11 0.6265 0.6265
75 Thomas Mccoy 0 11 0.6265 0.6265
75 Walter Archambo 0 11 0.6265 0.6265
80 Michael Branson 0 11 0.6205 0.6205
80 Richard Beeghley 1 11 0.6205 0.6205
80 Scott Lefton 0 11 0.6205 0.6205
83 Noah Gosswiller 0 9 0.6176 0.5053
84 Kenneth Nielsen 0 7 0.6168 0.3925
84 Steward Hogans 0 7 0.6168 0.3925
86 Anthony Brinson 0 8 0.6148 0.4471
87 Antonio Mitchell 0 11 0.6145 0.6145
87 Diance Durand 1 11 0.6145 0.6145
87 Edward Ford 0 11 0.6145 0.6145
87 Jennifer Arty 0 11 0.6145 0.6145
87 Montee Brown 1 11 0.6145 0.6145
87 Stephen Bush 1 11 0.6145 0.6145
87 Terry Hardison 0 11 0.6145 0.6145
94 Paul Seitz 0 8 0.6134 0.4461
95 Brian Patterson 0 9 0.6131 0.5016
96 George Mancini 0 9 0.6119 0.5006
97 Zechariah Ziebarth 0 10 0.6118 0.5562
98 David Plate 0 8 0.6116 0.4448
99 David Hadley 0 5 0.6104 0.2775
100 Derrick Elam 0 8 0.6098 0.4435
101 Karen Richardson 1 11 0.6084 0.6084
101 Matthew Olguin 0 11 0.6084 0.6084
101 Ramar Williams 0 11 0.6084 0.6084
101 Vincent Scannelli 0 11 0.6084 0.6084
105 Yiming Hu 0 9 0.6074 0.4970
106 Earl Dixon 0 10 0.6053 0.5503
106 Keisha Vasquez 1 10 0.6053 0.5503
108 Wayne Gokey 0 5 0.6026 0.2739
109 Jonathon Leslein 0 11 0.6024 0.6024
109 Kamar Morgan 0 11 0.6024 0.6024
109 Nicholas Nguyen 0 11 0.6024 0.6024
109 Rachel Follo 1 11 0.6024 0.6024
113 Jonathan Knight 0 6 0.6022 0.3285
114 Darvin Graham 0 10 0.6000 0.5455
115 Amy Asberry 0 8 0.5984 0.4352
116 Kevin Green 0 6 0.5978 0.3261
117 Cade Martinez 0 11 0.5964 0.5964
117 Jason Jackson 0 11 0.5964 0.5964
117 Kristen White 0 11 0.5964 0.5964
117 Louie Renew 1 11 0.5964 0.5964
121 Cheryl Brown 0 10 0.5960 0.5418
122 Jose Torres Mendoza 0 9 0.5942 0.4862
123 Adam Konkle 0 2 0.5938 0.1080
123 Cherylynn Vidal 0 4 0.5938 0.2159
123 Jeffrey Dusza 0 2 0.5938 0.1080
126 Christopher Mulcahy 0 10 0.5921 0.5383
126 Jeffrey Zornes 0 10 0.5921 0.5383
128 Michael Moore 0 9 0.5912 0.4837
129 Melissa Printup 0 11 0.5904 0.5904
130 Megan Fitzgerald 0 6 0.5895 0.3215
131 Thomas Cho 0 7 0.5888 0.3747
132 Tara Bridgett 0 7 0.5872 0.3737
133 Trevor Macgavin 0 11 0.5843 0.5843
134 Jason Miranda 0 6 0.5824 0.3177
135 Ryan Shipley 0 9 0.5809 0.4753
136 Jennifer Wilson 0 6 0.5806 0.3167
137 Marcus Evans 0 10 0.5800 0.5273
138 Akilah Gamble 1 8 0.5785 0.4207
139 Bunnaro Sun 0 11 0.5783 0.5783
140 Joshua Tracey 0 10 0.5724 0.5204
141 Ronald Schmidt 0 10 0.5695 0.5177
142 Jonathan Smith 0 9 0.5662 0.4633
143 Anthony Rockemore 0 8 0.5620 0.4087
144 Joseph Martin 0 7 0.5607 0.3568
145 Desmond Jenkins 0 6 0.5604 0.3057
146 Wayne Schofield 1 11 0.5602 0.5602
147 Jack Wheeler 0 10 0.5526 0.5024
147 Kyle May 0 10 0.5526 0.5024
147 Min Choi 0 5 0.5526 0.2512
147 Richard Conkle 0 10 0.5526 0.5024
151 Lawrence Thuotte 1 4 0.5484 0.1994
152 Steven Webster 0 9 0.5441 0.4452
153 Donald Park 0 3 0.5435 0.1482
154 Gary Lawrence 0 11 0.5422 0.5422
155 Sheryl Claiborne-Smith 0 8 0.5417 0.3940
156 Gabriel Quinones 0 7 0.5321 0.3386
157 David Kim 0 2 0.5312 0.0966
157 Monte Henderson 0 2 0.5312 0.0966
159 Robert Lynch 0 10 0.5298 0.4816
160 Jamie Ainsleigh-Wong 0 6 0.5217 0.2846
161 Robert Martin 0 9 0.5149 0.4213
162 Andrew Gray 0 9 0.5145 0.4210
163 Jay Kelly 0 7 0.5140 0.3271
164 Antonio Chapa 0 1 0.5000 0.0455
164 Vincent Kandian 0 4 0.5000 0.1818
164 Zachary Brosemer 0 1 0.5000 0.0455
167 Ashlyn Dortch 0 5 0.4805 0.2184
168 Gabrieal Feiling 0 2 0.4688 0.0852
169 Ashley Johnson 0 4 0.4333 0.1576
170 Jasprin Smith 0 1 0.3750 0.0341
170 Robert Epps 0 1 0.3750 0.0341

Adjusted Season Leaderboard

Season Leaderboard (Adjusted Season Percent)
Week 11
Season Rank Name Donuts Won Weeks Picked Season Percent Adj Season Percent Season Trend
1 Robert Cunningham 0 11 0.7169 0.7169
2 Robert Gelo 1 11 0.7048 0.7048
3 Chris Papageorge 0 11 0.6928 0.6928
4 Michael Pacifico 1 11 0.6867 0.6867
5 Marc Agne 1 11 0.6807 0.6807
6 Aubrey Conn 0 11 0.6747 0.6747
6 Keven Talbert 2 11 0.6747 0.6747
8 Chester Todd 1 11 0.6687 0.6687
8 Randy Dick 1 11 0.6687 0.6687
10 Erik Neumann 0 11 0.6627 0.6627
10 Rafael Torres 0 11 0.6627 0.6627
10 Travis Delagardelle 1 11 0.6627 0.6627
13 Anthony Bloss 0 11 0.6566 0.6566
13 Christopher Sims 1 11 0.6566 0.6566
13 George Sweet 1 11 0.6566 0.6566
13 Matthew Schultz 0 11 0.6566 0.6566
17 Darryle Sellers 0 11 0.6506 0.6506
17 Heather Ellenberger 0 11 0.6506 0.6506
17 Jennifer Bouland 0 11 0.6506 0.6506
17 Kevin Kehoe 0 11 0.6506 0.6506
21 Brayant Rivera 0 11 0.6446 0.6446
21 George Brown 1 11 0.6446 0.6446
21 Gregory Brown 1 11 0.6446 0.6446
21 Jeremy Stieler 0 11 0.6446 0.6446
21 Michael Moss 0 11 0.6446 0.6446
21 Shaun Dahl 0 11 0.6446 0.6446
21 Shawn Carden 0 11 0.6446 0.6446
28 Michelle Fraterrigo 0 11 0.6386 0.6386
28 Nicole Dike 0 11 0.6386 0.6386
28 Ryan Cvik 0 11 0.6386 0.6386
31 Randolph Tidd 0 10 0.6974 0.6340
32 Daniel Baller 0 11 0.6325 0.6325
32 David Humes 0 11 0.6325 0.6325
32 Jared Kaanga 0 11 0.6325 0.6325
32 Jason Schattel 0 11 0.6325 0.6325
32 Kevin Buettner 0 11 0.6325 0.6325
37 Jeffrey Rudderforth 0 11 0.6265 0.6265
37 Nahir Shepard 0 11 0.6265 0.6265
37 Pablo Burgosramos 1 11 0.6265 0.6265
37 Thomas Mccoy 0 11 0.6265 0.6265
37 Walter Archambo 0 11 0.6265 0.6265
42 Bruce Williams 0 10 0.6887 0.6261
43 Nathan Brown 1 10 0.6842 0.6220
44 Michael Branson 0 11 0.6205 0.6205
44 Richard Beeghley 1 11 0.6205 0.6205
44 Scott Lefton 0 11 0.6205 0.6205
47 Antonio Mitchell 0 11 0.6145 0.6145
47 Diance Durand 1 11 0.6145 0.6145
47 Edward Ford 0 11 0.6145 0.6145
47 Jennifer Arty 0 11 0.6145 0.6145
47 Montee Brown 1 11 0.6145 0.6145
47 Stephen Bush 1 11 0.6145 0.6145
47 Terry Hardison 0 11 0.6145 0.6145
54 Karen Richardson 1 11 0.6084 0.6084
54 Matthew Olguin 0 11 0.6084 0.6084
54 Ramar Williams 0 11 0.6084 0.6084
54 Vincent Scannelli 0 11 0.6084 0.6084
58 David Dupree 0 10 0.6645 0.6041
59 Jonathon Leslein 0 11 0.6024 0.6024
59 Kamar Morgan 0 11 0.6024 0.6024
59 Nicholas Nguyen 0 11 0.6024 0.6024
59 Rachel Follo 1 11 0.6024 0.6024
63 Patrick Tynan 0 10 0.6623 0.6021
64 Cade Martinez 0 11 0.5964 0.5964
64 Jason Jackson 0 11 0.5964 0.5964
64 Kristen White 0 11 0.5964 0.5964
64 Louie Renew 1 11 0.5964 0.5964
68 Melissa Printup 0 11 0.5904 0.5904
69 William Schouviller 1 10 0.6490 0.5900
70 Bradley Hobson 0 10 0.6447 0.5861
70 Daniel Halse 0 10 0.6447 0.5861
72 Trevor Macgavin 0 11 0.5843 0.5843
73 Bunnaro Sun 0 11 0.5783 0.5783
74 Paul Presti 0 10 0.6358 0.5780
75 Karen Coleman 0 10 0.6333 0.5757
75 Thomas Brenstuhl 1 10 0.6333 0.5757
77 Daniel Major 0 10 0.6291 0.5719
78 Wayne Schofield 1 11 0.5602 0.5602
79 Zechariah Ziebarth 0 10 0.6118 0.5562
80 Earl Dixon 0 10 0.6053 0.5503
80 Keisha Vasquez 1 10 0.6053 0.5503
82 Nicholas Cinco 0 9 0.6716 0.5495
83 Darvin Graham 0 10 0.6000 0.5455
84 Gary Lawrence 0 11 0.5422 0.5422
85 Cheryl Brown 0 10 0.5960 0.5418
86 Christopher Mulcahy 0 10 0.5921 0.5383
86 Jeffrey Zornes 0 10 0.5921 0.5383
88 Marcus Evans 0 10 0.5800 0.5273
89 Brandon Parks 0 9 0.6444 0.5272
90 Clevante Granville 0 9 0.6418 0.5251
90 Robert Sokol 0 9 0.6418 0.5251
92 Bryson Scott 0 9 0.6397 0.5234
92 James Small 0 9 0.6397 0.5234
94 Joshua Tracey 0 10 0.5724 0.5204
95 Ronald Schmidt 0 10 0.5695 0.5177
96 Ryan Baum 0 9 0.6304 0.5158
97 Noah Gosswiller 0 9 0.6176 0.5053
98 Jack Wheeler 0 10 0.5526 0.5024
98 Kyle May 0 10 0.5526 0.5024
98 Richard Conkle 0 10 0.5526 0.5024
101 Brian Patterson 0 9 0.6131 0.5016
102 George Mancini 0 9 0.6119 0.5006
103 Yiming Hu 0 9 0.6074 0.4970
104 Michael Linder 0 8 0.6803 0.4948
105 Jose Torres Mendoza 0 9 0.5942 0.4862
106 Heather Kohler 0 8 0.6667 0.4849
107 Michael Moore 0 9 0.5912 0.4837
108 Robert Lynch 0 10 0.5298 0.4816
109 Pamela Augustine 0 8 0.6583 0.4788
110 Ryan Shipley 0 9 0.5809 0.4753
111 Brian Hollmann 0 8 0.6441 0.4684
112 Jonathan Smith 0 9 0.5662 0.4633
112 Philip Driskill 1 8 0.6371 0.4633
114 Anthony Brinson 0 8 0.6148 0.4471
115 Paul Seitz 0 8 0.6134 0.4461
116 Steven Webster 0 9 0.5441 0.4452
117 David Plate 0 8 0.6116 0.4448
118 Derrick Elam 0 8 0.6098 0.4435
119 Amy Asberry 0 8 0.5984 0.4352
120 Jeremy Mounce 0 7 0.6731 0.4283
121 Robert Martin 0 9 0.5149 0.4213
122 Andrew Gray 0 9 0.5145 0.4210
123 Akilah Gamble 1 8 0.5785 0.4207
124 Anthony Rockemore 0 8 0.5620 0.4087
125 Sheryl Claiborne-Smith 0 8 0.5417 0.3940
126 Kenneth Nielsen 0 7 0.6168 0.3925
126 Steward Hogans 0 7 0.6168 0.3925
128 Matthew Blair 0 6 0.7159 0.3905
128 Steven Maisonneuve 1 6 0.7159 0.3905
130 Thomas Cho 0 7 0.5888 0.3747
131 Tara Bridgett 0 7 0.5872 0.3737
132 Joseph Martin 0 7 0.5607 0.3568
133 Jordan Forwood 0 6 0.6277 0.3424
134 Gabriel Quinones 0 7 0.5321 0.3386
135 Jonathan Knight 0 6 0.6022 0.3285
136 Jay Kelly 0 7 0.5140 0.3271
137 Kevin Green 0 6 0.5978 0.3261
138 Megan Fitzgerald 0 6 0.5895 0.3215
139 Jason Miranda 0 6 0.5824 0.3177
140 Jennifer Wilson 0 6 0.5806 0.3167
141 Desmond Jenkins 0 6 0.5604 0.3057
142 Jamie Ainsleigh-Wong 0 6 0.5217 0.2846
143 David Hadley 0 5 0.6104 0.2775
144 Brittany Pillar 0 4 0.7544 0.2743
145 Wayne Gokey 0 5 0.6026 0.2739
146 Min Choi 0 5 0.5526 0.2512
147 Ashlyn Dortch 0 5 0.4805 0.2184
148 Cherylynn Vidal 0 4 0.5938 0.2159
149 Lawrence Thuotte 1 4 0.5484 0.1994
150 Jeremy Krammes 0 3 0.6957 0.1897
151 Vincent Kandian 0 4 0.5000 0.1818
152 George Hall 0 3 0.6522 0.1779
153 Ashley Johnson 0 4 0.4333 0.1576
154 Donald Park 0 3 0.5435 0.1482
155 Adam Konkle 0 2 0.5938 0.1080
155 Jeffrey Dusza 0 2 0.5938 0.1080
157 David Kim 0 2 0.5312 0.0966
157 Monte Henderson 0 2 0.5312 0.0966
159 Gabrieal Feiling 0 2 0.4688 0.0852
160 Clayton Grimes 0 1 0.8750 0.0795
161 Tanaysa Henderson 0 1 0.8571 0.0779
162 Brian Holder 0 1 0.7500 0.0682
162 Sandra Carter 0 1 0.7500 0.0682
162 Wallace Savage 0 1 0.7500 0.0682
165 Ryan Wiggins 0 1 0.7333 0.0667
166 Daniel Gray 0 1 0.6875 0.0625
166 Terrence Lee 0 1 0.6875 0.0625
168 Antonio Chapa 0 1 0.5000 0.0455
168 Zachary Brosemer 0 1 0.5000 0.0455
170 Jasprin Smith 0 1 0.3750 0.0341
170 Robert Epps 0 1 0.3750 0.0341

Data

---
title: "2024 NFL Moneyline Picks"
output: 
  flexdashboard::flex_dashboard:
    theme:
      version: 4
      bootswatch: spacelab
    orientation: rows
    vertical_layout: fill
    social: ["menu"]
    source_code: embed
    navbar:
      - { title: "Created by: Daniel Baller", icon: "fa-github", href: "https://github.com/danielpballer"  }
---


```{r setup, include=FALSE}
#    source_code: embed
library(flexdashboard)
library(tidyverse)
library(data.table)
library(formattable)
library(ggpubr)
library(ggrepel)
library(gt)
library(glue)
library(ggthemes)
library(hrbrthemes)
library(sparkline)
library(plotly)
library(htmlwidgets)
library(mdthemes)
library(ggtext)
library(ggnewscale)
library(DT)
source("./Functions/functions2.R")

thematic::thematic_rmd(font = "auto")

```

```{r Reading in our picks files, include=FALSE}
current_week = 11 #Set what week it is
week_1 = read_csv("./CSV_Data_Files/2024 NFL Week 1.csv") %>% 
  mutate(Name = str_to_title(Name))
week_2 = read_csv("./CSV_Data_Files/2024 NFL Week 2.csv")%>% 
  mutate(Name = str_to_title(Name))
week_3 = read_csv("./CSV_Data_Files/2024 NFL Week 3.csv")%>% 
  mutate(Name = str_to_title(Name))
week_4 = read_csv("./CSV_Data_Files/2024 NFL Week 4.csv")%>%
 mutate(Name = str_to_title(Name))
week_5 = read_csv("./CSV_Data_Files/2024 NFL Week 5.csv")%>% 
  mutate(Name = str_to_title(Name))
week_6 = read_csv("./CSV_Data_Files/2024 NFL Week 6.csv")%>% 
  mutate(Name = str_to_title(Name))
week_7 = read_csv("./CSV_Data_Files/2024 NFL Week 7.csv")%>% 
  mutate(Name = str_to_title(Name))
week_8 = read_csv("./CSV_Data_Files/2024 NFL Week 8.csv")%>% 
  mutate(Name = str_to_title(Name))
 week_9 = read_csv("./CSV_Data_Files/2024 NFL Week 9.csv")%>% 
  mutate(Name = str_to_title(Name))
week_10 = read_csv("./CSV_Data_Files/2024 NFL Week 10.csv")%>% 
  mutate(Name = str_to_title(Name))
week_11 = read_csv("./CSV_Data_Files/2024 NFL Week 11.csv")%>% 
  mutate(Name = str_to_title(Name))
# week_12 = read_csv("./CSV_Data_Files/2024 NFL Week 12.csv")%>% 
#  mutate(Name = str_to_title(Name))
# week_13 = read_csv("./CSV_Data_Files/2024 NFL Week 13.csv")%>% 
#  mutate(Name = str_to_title(Name))
# week_14 = read_csv("./CSV_Data_Files/2024 NFL Week 14.csv")%>% 
#  mutate(Name = str_to_title(Name))
# week_15 = read_csv("./CSV_Data_Files/2024 NFL Week 15.csv")%>% 
#  mutate(Name = str_to_title(Name))
# week_16 = read_csv("./CSV_Data_Files/2024 NFL Week 16.csv")%>% 
#  mutate(Name = str_to_title(Name))
# week_17 = read_csv("./CSV_Data_Files/2024 NFL Week 17.csv")%>% 
#  mutate(Name = str_to_title(Name))
# week_18 = read_csv("./CSV_Data_Files/2024 NFL Week 18.csv")%>% 
#  mutate(Name = str_to_title(Name))
# week_19 = read_csv("./CSV_Data_Files/2024 NFL Wild Card.csv")%>% 
#  mutate(Name = str_to_title(Name))
# week_20 = read_csv("./CSV_Data_Files/2024 NFL Divisional Round.csv")%>% 
#  mutate(Name = str_to_title(Name))
# week_21 = read_csv("./CSV_Data_Files/2024 NFL Conference Round.csv")%>% 
#  mutate(Name = str_to_title(Name))
# week_22 = read_csv("./CSV_Data_Files/2024 NFL Super Bowl.csv")%>% 
#  mutate(Name = str_to_title(Name))

#reading in scores
Scores = read_csv(glue::glue("./CSV_Data_Files/NFL_Scores_{current_week}.csv")) 

#reading in CBS Prediction Records
cbs = read_csv(glue::glue("./CSV_Data_Files/CBS_Experts_{current_week}.csv")) %>% 
  mutate(Percent = round(Percent,4))
cbs_season = read_csv(glue::glue("./CSV_Data_Files/CBS_Experts_Season_{current_week}.csv"))

#reading in ESPN Prediction Records
espn = read_csv(glue::glue("./CSV_Data_Files/ESPN_Experts_{current_week}.csv"))%>% 
  mutate(Percent = round(Percent,4))
espn_season = read_csv(glue::glue("./CSV_Data_Files/ESPN_Experts_Season_{current_week}.csv"))%>% 
  mutate(Percent = round(Percent,4))

#Odds not working for the 2024 season.  Need to fix scrape code for next year.
#Reading in the moneyline odds for each team and cleaning the team names
# odds_wk1 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_1.csv"))
# odds_wk2 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_2.csv"))
# odds_wk3 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_3.csv"))
# odds_wk4 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_4.csv"))
# odds_wk5 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_5.csv"))
# odds_wk6 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_6.csv"))
# odds_wk7 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_7.csv"))
# odds_wk8 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_8.csv"))
# odds_wk9 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_9.csv"))
# odds_wk10 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_10.csv"))
# odds_wk11 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_11.csv"))
# odds_wk12 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_12.csv"))
# odds_wk13 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_13.csv"))
# odds_wk14 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_14.csv"))
# odds_wk15 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_15.csv"))
# odds_wk16 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_16.csv"))
# odds_wk17 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_17.csv"))
# odds_wk18 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_18.csv"))
# odds_wk19 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_19.csv"))
# odds_wk20 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_20.csv"))
# odds_wk21 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_21.csv"))
# odds_wk22 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_22.csv"))

####################UPDATE THESE###############################
inst.picks = list(week_1, week_2, week_3, week_4, week_5, week_6, week_7, week_8 , week_9, week_10, week_11) #, week_12, week_13, week_14, week_15, week_16, week_17 , week_18, week_19 , week_20, week_21, week_22) #add in the additional weeks
# odds = rbind(odds_wk1, odds_wk2, odds_wk3, odds_wk4, odds_wk5, odds_wk6, odds_wk7, odds_wk8,
#              odds_wk9, odds_wk10, odds_wk11, odds_wk12) #add in the additional weeks
####################END OF UPDATE##############################

weeks = as.list(seq(1:current_week)) #creating a list of each week number
```

```{r read in scores clean data, include=FALSE}
#Cleaning Odds Data
# cl_odds = odds_cleaning(odds)

#Cleaning scores data
Scores = cleaning2(Scores)

#creating a list of winners for each week
winners = map(weeks, weekly_winners)

#creating a vector of this weeks winners
this_week = pull(winners[[length(winners)]])  

#Getting the number of games for each week
weekly_number_of_games = map_dbl(weeks, week_number_games)
```

```{r Group Predictions, include=FALSE}
#Creating the list of everyones predictions each week.
games = map(inst.picks, games_fn)

#Creating the prediction table.  
pred_table = map(games, pred_table_fn)

#Adding who won to the predictions
with_winners = map2(pred_table, winners, adding_winners)

#Creating results for each week.
results = map2(with_winners,weekly_number_of_games, results_fn)
```


```{r Displaying Group Results, echo=FALSE}
#Displaying the group results

inst_group_table = results[[length(results)]] %>% gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("This Week's Predictions"),
    #subtitle = md(glue("Week {length(results)}"))
    ) %>% 
   tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(Correct),
      rows = Correct =="No"
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(Correct),
      rows = Correct =="Yes"
    )) %>% 
  tab_options(
    data_row.padding = px(3),
    container.height = "100%"
   )
```

```{r Weekly and season Group Results, include=FALSE}
# Printing the weekly and season win percentage     

#how many games correct, incorrect, and not picked each week
weekly_group_correct = map(results, weekly_group_correct_fn)  

#how many games were picked each week
weekly_games_picked = map2(weekly_group_correct, weekly_number_of_games, weekly_games_picked_fn)

#Calculating the number of correct picks for each week
weekly_group_correct_picks = map(weekly_group_correct, weekly_group_correct_picks_fn)

# Code to manually hard code in week where we get 0 games correct
# ##### Remove this line before next season 
# weekly_group_correct_picks[[21]]=0

#Calculating weekly win percentage
weekly_win_percentage = map2(weekly_group_correct_picks, weekly_games_picked, weekly_win_percentage_fn)

#Calculating season win percentage
season_win_percentage = round(sum(unlist(weekly_group_correct_picks))/sum(unlist(weekly_games_picked)),4)

#Calculating number of games picked this season
season_games = sum(unlist(weekly_games_picked))

#calculating season wins
season_wins = sum(unlist(weekly_group_correct_picks))

#calculating the number of people who picked this week
Total = dim(inst.picks[[length(weeks)]])[1]
```

```{r plotting group results, include=FALSE}
#Previous Weeks
group_season_for_plotting = unlist(weekly_win_percentage) %>% as.data.frame() %>% 
  rename(`Win Percentage` = ".") %>% 
  add_column(Week = unlist(weeks))
```

```{r Plotting the group results, echo=FALSE}
inst_group_season_plot = group_season_for_plotting %>% 
ggplot(aes(x = as.factor(Week), y = `Win Percentage`))+
  geom_point()+
  geom_path(aes(x = Week))+
  ylim(c(0, 1)) +
  xlab("NFL Week") + 
  ylab("Correct Percentage")+
  ggtitle("Weekly Group Correct Percentage")+
  theme_classic()+
  theme(plot.title = element_text(hjust = 0.5, size = 18))
```

```{r beating cbs week, include=FALSE}
#Creating a list of correct percentages for each week.
cbs_weekly_percent = map(weeks, cbs_percent)

#Creating a list of how many cbs experts we beat each week.
cbs_experts_beat = map2(cbs_weekly_percent, weekly_win_percentage, experts_beat)

#Creating a list of how many cbs experts picked each week.  
cbs_experts_total = map(cbs_weekly_percent, experts_tot)
```

```{r beating cbs season, include=FALSE}
#Creating a list of correct percentages for each week.
cbs_season_percent = map(weeks, cbs_season_percent)

#Creating a list of how many cbs experts we beat each week.
cbs_experts_beat_season = map2(cbs_season_percent, season_win_percentage, experts_beat)

#Creating a list of how many cbs experts picked each week.  
cbs_experts_season_total = map(cbs_season_percent, experts_tot)
```

```{r beating ESPN week, include=FALSE}
#Creating a list of correct percentages for each week.
espn_weekly_percent = map(weeks, espn_percent)

#Creating a list of how many cbs experts we beat each week.
espn_experts_beat = map2(espn_weekly_percent, weekly_win_percentage, experts_beat)

#Creating a list of how many cbs experts picked each week.  
espn_experts_total = map(espn_weekly_percent, experts_tot)
```

```{r beating ESPN season, include=FALSE}
#Creating a list of correct percentages for each week.
espn_season_percent = map(weeks, espn_season_percent)

#Creating a list of how many cbs experts we beat each week.
espn_experts_beat_season = map2(espn_season_percent, season_win_percentage, experts_beat)

#Creating a list of how many cbs experts picked each week.  
espn_experts_season_total = map(espn_season_percent, experts_tot)
```

```{r individual results, include=FALSE}
#Creating a list of individual results for each week.
weekly_indiv = pmap(list(inst.picks, winners, weeks), indiv_weekly_pred)

#Combining each week into one dataframe and calculating percentage Correct for this week.  
full_season = weekly_indiv %>% reduce(full_join, by = "Name") %>% 
  mutate(Percent = round(pull(.[,ncol(.)]/weekly_number_of_games[[length(weekly_number_of_games)]]),4)) 

#Creating a dataframe with only the weekly picks
a = full_season %>% select(starts_with("Week"))

#Creating a vector of how many weeks each person picked over the season
tot_week = NULL
help = NULL
for (i in 1:dim(a)[1]){
  for(j in 1:length(a)){
    help[j] = ifelse(is.na(a[i,j])==T,0,1)
    tot_week[i] = sum(help)
  }
}

#Creating a vector of how many games each person picked over the season
tot_picks= NULL
help = NULL
for (i in 1:dim(a)[1]){
  for(j in 1:length(a)){
    help[j] = unlist(weekly_games_picked)[j]*ifelse(is.na(a[i,j])==T,0,1)
    tot_picks[i] = sum(help)
  }
}

#Creatign a vector of how many games each person picked correct over the season
tot_correct = NULL
help = NULL
for (i in 1:dim(a)[1]){
  tot_correct[i] = sum(a[i,], na.rm = T)
}

#adding how many weeks each person picked, season correct percentage, and adjusted season percentag to the data frame and sorting the data
indiv_disp = full_season %>% add_column(`Weeks Picked` = tot_week) %>%
  add_column(tot_correct)%>%
  add_column(tot_picks)%>%
  mutate(`Season Percent` = round(tot_correct/tot_picks,4))%>%
  mutate(`Adj Season Percent` = round(`Season Percent`*(tot_week/length(a)),4)) %>%
  select(-tot_correct, -tot_picks) %>%
  arrange(desc(Percent), desc(`Season Percent`)) %>%
  mutate(Percent = ifelse(is.na(Percent)==T, 0, Percent))
```


```{r individual percentages, include=FALSE}
#Calculating individual percentages for each week.
weekly_indiv_percent = map2(weekly_indiv, as.list(weekly_number_of_games), indiv_percent) %>% reduce(full_join, by = "Name")

weekly_indiv_percent_plot = weekly_indiv_percent %>% 
  pivot_longer(cols = starts_with("Week"), names_to = "Week", values_to = "Percent")%>%
  mutate(Percent = ifelse(is.na(Percent)==T, 0, Percent)) %>% 
  mutate(Week = as.factor(Week))

levels = NULL
for(i in 1:length(weeks)){
  levels[i] = glue("Week {i}")  
}

weekly_indiv_percent_plot = weekly_indiv_percent_plot %>%
  mutate(Week = factor(Week, levels))
```

```{r sparklines, include=FALSE}
#adding sparklines
plot_group = function(name, df){
  plot_object = 
    ggplot(data = df,
           aes(x = as.factor(Week), y=Percent, group = 1))+
    geom_path(size = 7)+
    scale_y_continuous(limits = c(0,1))+
    theme_void()+
    theme(legend.position = "none")
  return(plot_object)
}

sparklines = 
  weekly_indiv_percent_plot %>% 
  group_by(Name) %>% 
  nest() %>% 
  mutate(plot = map2(Name, data, plot_group)) %>% 
  select(-data)
  
indiv_disp_2 = indiv_disp %>% 
  inner_join(sparklines, by = "Name") %>% 
  mutate(`Season Trend` = NA)
```

```{r Printing Individual Table2, echo=FALSE}
# Printing the individual Table
indiv_table = indiv_disp_2 %>% gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("Individual Results"),
    subtitle = md(glue("Week {length(weeks)}"))
    ) %>% 
   tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(Percent),
      rows = Percent<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(Percent),
      rows = Percent>.5
    )) %>% 
     tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`>.5
    ))%>% 
     tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`>.5
    )) %>% 
  tab_options(
    container.width = pct(100),
    data_row.padding = px(1),
    container.height = "100%"
   ) %>%
    tab_spanner(
    label = "Weekly # Correct",
    columns = starts_with(c("Week "))
  ) %>% 
  text_transform(
    locations = cells_body(c(`Season Trend`)),
    fn = function(x){
      map(indiv_disp_2$plot, ggplot_image, height = px(30), aspect_ratio = 4)
                 }) %>%
  cols_hide(c(plot))

indiv_winners = indiv_disp_2 %>% filter(Percent == max(Percent)) %>% select(Name) %>% pull() %>% paste(collapse = ", ")
indiv_season = indiv_disp_2 %>% filter(`Season Percent` == max(`Season Percent`)) %>% select(Name) %>% pull() %>% paste(collapse = ", ")
indiv_season_adj = indiv_disp_2 %>% filter(`Adj Season Percent` == max(`Adj Season Percent`)) %>% select(Name) %>% pull()%>% paste(collapse = ", ")
```

```{r Printing Season Leaderboard, echo=FALSE}
# Printing the Season Leaderboard
  
season_leaderboard_disp = indiv_disp_2 %>% select(Name, starts_with("Week ")) %>% 
  pivot_longer(starts_with("Week"),names_to = "Week", values_to = "Correct") %>% 
  group_by(Week) %>% 
  mutate(Correct = case_when(is.na(Correct)==T~0, 
                             TRUE~Correct)) %>% 
  mutate(Donut = case_when(Correct==max(Correct)~1,
                           TRUE~0))  %>% 
  ungroup() %>% 
  group_by(Name) %>% 
  summarise(`Donuts Won` = sum(Donut)) %>% 
  #mutate(`Donuts Won` = strrep("award,", Donuts)) %>% 
  right_join(.,indiv_disp_2) %>% 
  select(-starts_with("Week "), -Percent) %>% 
  mutate(`Season Rank` = min_rank(desc(`Season Percent`)),.before = Name) %>% 
  arrange(`Season Rank`) 
  
season_leaderboard = season_leaderboard_disp %>% 
  gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("Season Leaderboard (Season Percent)"),
    subtitle = md(glue("Week {length(weeks)}"))
    ) %>% 
  # fmt_icon(
  #   columns = `Donuts Won`,
  #   fill_color = "gold",
  # ) %>%
  tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`>.5
    ))%>% 
     tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`>.5
    )) %>% 
  tab_options(
    container.width = pct(100),
    data_row.padding = px(1),
    container.height = "100%"
   ) %>%
    tab_spanner(
    label = "Weekly # Correct",
    columns = starts_with(c("Week "))
  ) %>% 
  text_transform(
    locations = cells_body(c(`Season Trend`)),
    fn = function(x){
      map(season_leaderboard_disp$plot, ggplot_image, height = px(30), aspect_ratio = 4)
                 }) %>%
  cols_hide(columns = c(plot))
```

```{r Printing Adj Season Leaderboard, echo=FALSE}
# Printing the Adj Season Leaderboard
  
adj_season_leaderboard_disp = indiv_disp_2 %>% select(Name, starts_with("Week ")) %>% 
  pivot_longer(starts_with("Week"),names_to = "Week", values_to = "Correct") %>% 
  group_by(Week) %>% 
  mutate(Correct = case_when(is.na(Correct)==T~0, 
                             TRUE~Correct)) %>% 
  mutate(Donut = case_when(Correct==max(Correct)~1,
                           TRUE~0))  %>% 
  ungroup() %>% 
  group_by(Name) %>% 
  summarise(`Donuts Won` = sum(Donut)) %>% 
  #mutate(`Donuts Won` = strrep("award,", Donuts)) %>% 
  right_join(.,indiv_disp_2) %>% 
  select(-starts_with("Week "), -Percent) %>% 
  mutate(`Season Rank` = min_rank(desc(`Adj Season Percent`)),.before = Name) %>% 
  arrange(`Season Rank`)

adj_season_leaderboard = adj_season_leaderboard_disp %>% 
  gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("Season Leaderboard (Adjusted Season Percent)"),
    subtitle = md(glue("Week {length(weeks)}"))
    ) %>% 
  # fmt_icon(
  #   columns = `Donuts Won`,
  #   fill_color = "gold",
  # ) %>%
  tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`>.5
    ))%>% 
     tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`>.5
    )) %>% 
  tab_options(
    container.width = pct(100),
    data_row.padding = px(1),
    container.height = "100%"
   ) %>%
    tab_spanner(
    label = "Weekly # Correct",
    columns = starts_with(c("Week "))
  ) %>% 
  text_transform(
    locations = cells_body(c(`Season Trend`)),
    fn = function(x){
      map(adj_season_leaderboard_disp$plot, ggplot_image, height = px(30), aspect_ratio = 4)
                 }) %>%
  cols_hide(columns = c(plot))
```


```{r instructor formattable, echo=FALSE}
improvement_formatter <- 
  formatter("span", 
            style = x ~ formattable::style(
              font.weight = "bold", 
              color = ifelse(x > .5, "green", ifelse(x < .5, "red", "black"))),
             x ~ icontext(ifelse(x == max(x), "star", ""), x))

indiv_disp_3 = indiv_disp_2 %>% select(-plot)
indiv_disp_3$`Season Trend` = apply(indiv_disp_3[,2:(1+length(weeks))], 1, FUN = function(x) as.character(htmltools::as.tags(sparkline(as.numeric(x), type = "line", chartRangeMin = 0, chartRangeMax = 1, fillColor = "white"))))

indiv_table_2 = as.htmlwidget(formattable(indiv_disp_3, 
                                align = c("l", rep("c", NROW(indiv_disp_3)-1)),
              list(`Season Percent` = color_bar("#FA614B"),
              `Season Percent`= improvement_formatter,
              `Adj Season Percent`= improvement_formatter)))
              
indiv_table_2$dependencies = c(indiv_table_2$dependencies, htmlwidgets:::widget_dependencies("sparkline", "sparkline"))
```

```{r Plotting individual results over the season2, eval=FALSE, include=FALSE, out.width="100%"}
#Creating the individual plot.  
inst_indiv_plots = weekly_indiv_percent_plot %>% 
  ggplot(aes(x = factor(Week), y = Percent, color = Name))+
  geom_point()+
  geom_path(aes(x = as.factor(Week), y = Percent, color = Name, 
                group = Name))+
  ylim(c(0, 1)) +
  labs(x = "NFL Week", 
       y = "Correct Percentage", 
       title = "Weekly Individual Correct Percentage")+
  facet_wrap(~Name)+
  theme_classic()+
  theme(legend.position = "none",
        plot.title = element_text(hjust = 0.5, size = 18),
        axis.text.x=element_text(angle =45, vjust = 1, hjust = 1))
```

```{r data for data page}
inst.data = map2(inst.picks, weeks, disp_data) %>% bind_rows()
```


```{r fivethirtyeight}
inst_538 = map(results, five38) %>% unlist() %>% sum()
```

```{r pregame, eval=FALSE, include=FALSE}
#Predictions for the week

#Creating the list of group predictions each week.
games = map(inst.picks, games_fn)

#Creating the prediction table.  
pred_table = map(games, pred_table_fn)

#Printing table of instructor predictions
pred_table[[length(pred_table)]] %>% mutate(Game = row_number()) %>% 
  rename(`Votes For` = votes_for, `Votes Against` = votes_against) %>% 
  gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("This Week's Predictions"),
    subtitle = md(glue("Week {length(weeks)}"))
    ) %>% 
   tab_options(
    data_row.padding = px(3)
   )
```

Group Predictions
==========================================================================

Sidebar {.sidebar} 
-------------------------------------
#### CBS Sports

<font size="4">

This week we beat or tied `r cbs_experts_beat[[length(weeks)]]` of `r cbs_experts_total[[length(weeks)]]` CBS Sports' Experts.

For the season we are currently beating or tied with `r cbs_experts_beat_season[[length(weeks)]]` of `r cbs_experts_season_total[[length(weeks)]]` CBS Sports' Experts.
 
 </font>


#### ESPN

<font size="4">

We also beat or tied `r espn_experts_beat[[length(weeks)]]` of `r espn_experts_total[[length(weeks)]]` ESPN Experts.
 
For the season we are currently beating or tied with `r espn_experts_beat_season[[length(weeks)]]` of `r espn_experts_season_total[[length(weeks)]]` ESPN Experts.

</font>

Row
--------------------------------------

### Win percentage for the week

```{r}
inst_rate <- weekly_win_percentage[[length(weekly_win_percentage)]]*100
gauge(inst_rate, min = 0, max = 100, symbol = '%', gaugeSectors(
  success = c(55, 100), warning = c(40, 54), danger = c(0, 39)
))
```

### Season Win Percentage

```{r}
inst_season <- season_win_percentage*100
gauge(inst_season, min = 0, max = 100, symbol = '%', gaugeSectors(
  success = c(55, 100), warning = c(40, 54), danger = c(0, 39)
))
```

### Games Correct
```{r}
valueBox(value = season_wins,icon = "fa-trophy",caption = "Correct Games this Season")
```

### Games Picked
```{r}
valueBox(value = season_games,icon = "fa-clipboard-list",caption = "Games Picked this Season")
```

### Number of predictions
```{r}
valueBox(value = Total,icon = "fa-users",caption = "Predictions this week")
```

Row
--------------------------------------

### 

```{r}
inst_group_table
```

### 

```{r}
ggplotly(inst_group_season_plot) %>% 
  layout(title = list(y = .93, xref = "plot"),
         margin = list(t = 40))
```

Individual Predictions
==========================================================================


Sidebar {.sidebar} 
-------------------------------------

#### Best Picks of the Week.

<font size="4">

 `r indiv_winners`
 
 </font>
 
#### Best Season Correct Percentage
<font size="4">

`r indiv_season`
 
 </font>

#### Best Adjusted Season Correct Percentage
<font size="4">

`r indiv_season_adj`

 * Adjusted season percentage accounts for the number of weeks picked.
 
 </font>

row {.tabset}
--------------------------------------

### Individual Table
```{r}
indiv_table
```

<!--
### Individual Table2

```{r, out.height="100%"}
indiv_table_2
```

-->

<!--

### Individual Plots
```{r, out.width="100%"}
#ggplotly(inst_indiv_plots)
```

-->

### Season Leaderboard
```{r, out.width="100%"}
season_leaderboard
```

### Adjusted Season Leaderboard
```{r, out.width="100%"}
adj_season_leaderboard
```

Data
==========================================================================

```{r}
datatable(
  inst.data, extensions = 'Buttons', options = list(
    dom = 'Blfrtip',
    buttons = c('copy', 'csv', 'excel', 'pdf', 'print'),
    lengthMenue = list( c(10, 25, 50, 100, -1), c(10, 25, 50, 100, "All") )
  )
)
```